package com.test.utils;

import org.junit.Assert;

import static com.test.base.InitAppium.driver;

/**
 * Author:xuedonglei
 * Date: 2017/5/5
 */
public class SwapUtils {

    /***
     * 上滑1/4屏幕
     */
    public static void slideUP() {
        int x = driver.manage().window().getSize().width;
        int y = driver.manage().window().getSize().height;
        driver.swipe(x / 2, y / 3 * 2, x / 2, y / 3 * 1, 0);
    }

    /***
     * 下滑1/4屏幕
     */
    public static void slideDown() {
        int x = driver.manage().window().getSize().width;
        int y = driver.manage().window().getSize().height;
        driver.swipe(x / 2, y / 3 * 1, x / 2, y / 3 * 2, 0);
    }

    /***
     * 左滑1/2屏幕
     */
    public static void slideLeft() {
        int x = driver.manage().window().getSize().width;
        int y = driver.manage().window().getSize().height;
        driver.swipe(x / 4 * 3, y / 2, x / 4 * 1, y / 2, 0);
    }

    /***
     * 右滑1/2屏幕
     */
    public static void slideRight() {
        int x = driver.manage().window().getSize().width;
        int y = driver.manage().window().getSize().height;
        driver.swipe(x / 4 * 1, y / 2, x / 4 * 3, y / 2, 0);
    }

    /***
     * 特殊上滑
     * @param 传入从左到右宽度的百分比(1-99之间)
     */
    public static void slideUP(int i) {
        Assert.assertFalse("上滑宽度传入错误", i <= 0 || i >= 100);
        int x = driver.manage().window().getSize().width;
        int y = driver.manage().window().getSize().height;
        driver.swipe(x / 10 * i, y / 3 * 2, x / 10 * i, y / 3 * 1, 0);
    }

    /***
     * 特殊下滑
     * @param 传入从左到右宽度的百分比(1-99之间)
     */
    public static void slideDown(int i) {
        Assert.assertFalse("下滑宽度传入错误", i <= 0 || i >= 100);
        int x = driver.manage().window().getSize().width;
        int y = driver.manage().window().getSize().height;
        driver.swipe(x / 10 * i, y / 3 * 1, x / 10 * i, y / 3 * 2, 0);
    }

    /***
     * 特殊左滑
     * @param 传入从上到下宽度的百分比(1-99之间)
     */
    public static void slideLeft(int i) {
        Assert.assertFalse("左滑宽度传入错误", i <= 0 || i >= 100);
        int x = driver.manage().window().getSize().width;
        int y = driver.manage().window().getSize().height;
        driver.swipe(x / 4 * 3, y / 10 * i, x / 4 * 2, y / 10 * i, 0);
    }

    /***
     * 特殊右滑
     * @param 传入从上到下宽度的百分比(1-99之间)
     */
    public static void slideRight(int i) {
        Assert.assertFalse("左滑宽度传入错误", i <= 0 || i >= 100);
        int x = driver.manage().window().getSize().width;
        int y = driver.manage().window().getSize().height;
        driver.swipe(x / 4 * 2, y / 10 * i, x / 4 * 3, y / 10 * i, 0);
    }
}
